home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CUCD / Programming / DiceSource / src / lbmake / dmakefile next >
Makefile  |  1994-02-18  |  4KB  |  134 lines

  1.  
  2. #   DMakefile for dutil
  3. #
  4. #   (c)Copyright 1992-1993 Obvious Implementations Corp, All Rights Reserved
  5. #
  6. #   Source to many utilities is provided as example code.  To make the source
  7. #   for a single utility you supply the full destination path, e.g. 
  8. #   'dmake dcc:bin/makeproto'
  9. #
  10. #   You may incorporate source code found here into your own programs
  11. #   as long as said programs serve a substantially different purpose
  12. #   then where source was taken from from.  For example, you
  13. #   could pull code from DOBJ when writing your own linker but you
  14. #   could NOT use code from DOBJ if you intend to write a disassembler.
  15. #
  16. #   There are a considerable number of targes in this DMakefile that I use
  17. #   to compile various intermediate versions of DICE and other binaries.
  18. #   You need only concern yourself with the default... a simple 'DMake'
  19. #   will suffice.
  20.  
  21.  
  22. SRCS= lbmake.c
  23.  
  24. RSRCS= lbmake.c
  25.  
  26. MODULE= dutil
  27.  
  28. OD= dtmp:comp/$(MODULE)/
  29. OD1= dtmp:comp1/$(MODULE)/
  30. OD2= dtmp:comp2/$(MODULE)/
  31. ODC= dtmp:compc/$(MODULE)/
  32. ODR= dtmp:compr/$(MODULE)/
  33. ODF= dtmp:compf/$(MODULE)/
  34. ODN= /tmp/comp/$(MODULE)/
  35.  
  36. ODIRS= $(OD) $(OD1) $(OD2) $(ODC) $(ODR) $(ODF)
  37.  
  38. EXES= $(RSRCS:"*.c":"*")
  39. EXES1= $(SRCS:"*.c":"dcc:bin/amiga/bin1/lc_*")
  40. EXES2= $(SRCS:"*.c":"dcc:bin/amiga/bin2/xc_*")
  41. EXESC= $(SRCS:"*.c":"dcc:bin/amiga/bincom/*")
  42. EXESR= $(SRCS:"*.c":"dcc:bin/amiga/binreg/*")
  43. EXESF= $(SRCS:"*.c":"dcc:bin/amiga/binfree/*")
  44. EXESN= $(SRCS:"*.c":"../bin/next/*")
  45.  
  46. CFLAGS= -ms -r -mRR -I$(ODR) -proto -DREGISTERED
  47. CFLAGS1= -iinclude: -idinclude: -i$(OD1) -v -dDEBUG -dNO_ASM
  48. CFLAGS2= -ms -r -I$(OD2) -DDEBUG -DREGISTERED -DCOMMERCIAL
  49. CFLAGSC= -ms -r -mRR -I$(ODC) -proto -DREGISTERED -DCOMMERCIAL
  50. CFLAGSR= -ms -r -mRR -I$(ODR) -proto -DREGISTERED
  51. CFLAGSF= -ms -r -mRR -I$(ODF) -proto -DFREEWARE
  52. CFLAGSN= -O2 -I.. -I$(ODN) -L../suplib -DREGISTERED -DCOMMERCIAL -DNO_ASM
  53.  
  54. OBJS = $(RSRCS:"*.c":"$(OD)*.o")
  55. OBJS1 = $(SRCS:"*.c":"$(OD1)*.o")
  56. OBJS2 = $(SRCS:"*.?":"$(OD2)*.o")
  57. OBJSC = $(SRCS:"*.?":"$(ODC)*.o")
  58. OBJSR = $(SRCS:"*.?":"$(ODR)*.o")
  59. OBJSF = $(SRCS:"*.?":"$(ODF)*.o")
  60. OBJSN = $(SRCS:"*.?":"$(ODN)*.o")
  61.  
  62. default: $(OD:"*/$(MODULE)/":"*") $(OD) $(EXES)
  63.  
  64. pass1: $(OD1:"*/$(MODULE)/":"*") $(OD1) $(EXES1)
  65.  
  66. pass2: $(OD2:"*/$(MODULE)/":"*") $(OD2) $(EXES2)
  67.  
  68. com: $(ODC:"*/$(MODULE)/":"*") $(ODC) $(EXESC)
  69.  
  70. reg: $(ODR:"*/$(MODULE)/":"*") $(ODR) $(EXESR)
  71.  
  72. free: $(ODF:"*/$(MODULE)/":"*") $(ODF) $(EXESF)
  73.  
  74. next: $(ODN) $(EXESN)
  75.  
  76. $(EXES) : $(OBJS)
  77.     dcc $(CFLAGS) %(right) -o %(left)
  78.  
  79. $(EXES1) : $(OBJS1)
  80.   blink FROM LIB:c.o %(right) LIB lib:lc.lib lib:amiga20.lib TO %(left) BATCH
  81.  
  82. $(EXES2) : $(OBJS2)
  83.     lc_dcc $(CFLAGS2) %(right) -o %(left)
  84.  
  85. $(EXESC) : $(OBJSC)
  86.     xc_dcc $(CFLAGSC) %(right) -o %(left)
  87.  
  88. $(EXESR) : $(OBJSR)
  89.     xc_dcc $(CFLAGSR) %(right) -o %(left)
  90.  
  91. $(EXESF) : $(OBJSF)
  92.     xc_dcc $(CFLAGSF) %(right) -o %(left)
  93.  
  94. $(EXESN) : $(OBJSN)
  95.     cc $(CFLAGSN) %(right) -o %(left) -lamiga
  96.     strip %(left)
  97.  
  98. $(OBJS) : $(RSRCS)
  99.     dcc $(CFLAGS) %(right) -o %(left) -c
  100.  
  101. $(OBJS1) : $(SRCS:"*.c")
  102.     lc $(CFLAGS1) -o%(left) %(right)
  103.  
  104. $(OBJS2) : $(SRCS)
  105.     lc_dcc $(CFLAGS2) %(right) -o %(left) -c
  106.  
  107. $(OBJSC) : $(SRCS)
  108.     xc_dcc $(CFLAGSC) %(right) -o %(left) -c
  109.  
  110. $(OBJSR) : $(SRCS)
  111.     xc_dcc $(CFLAGSR) %(right) -o %(left) -c
  112.  
  113. $(OBJSF) : $(SRCS)
  114.     xc_dcc $(CFLAGSF) %(right) -o %(left) -c
  115.  
  116. $(OBJSN) : $(SRCS)
  117.     cc $(CFLAGSN) %(right) -o %(left) -c
  118.  
  119. clean:
  120.     -delete $(ODIRS:*/:*) ALL
  121.  
  122. $(ODIRS:"*/$(MODULE)/":"*") : $(ODIRS:"*/$(MODULE)/":"*")
  123.     makedir %(left)
  124.  
  125. $(ODIRS) : $(ODIRS)
  126.     makedir %(left:*/:*)
  127.  
  128. $(ODN) : $(ODN)
  129.     mkdir %(left:*/:*)
  130.  
  131. clean_next:
  132.     -rm -rf $(OBJSN)
  133.  
  134.